package com.ruoyi.web.controller.mall.orderOrder.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 订单信息对象 order_order
 * 
 * @author ruoyi
 * @date 2021-01-18
 */
public class OrderOrder //extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** ID */
    private String id;

    /** 商家id */
    @Excel(name = "商家id")
    private String shopId;

    /** 会员ID */
    @Excel(name = "会员ID")
    private String userId;

    /** 付款金额 */
    @Excel(name = "付款金额")
    private BigDecimal payment;

    /** 0：微信支付，1：支付宝支付 */
    @Excel(name = "0：微信支付，1：支付宝支付")
    private Integer paytype;

    /** 邮费 */
    @Excel(name = "邮费")
    private BigDecimal postFee;

    /** 优惠券id */
    @Excel(name = "优惠券id")
    private String couponId;

    /** 订单类型 0：普通订单,1：秒杀订单，2：9.9订单，3：砍价订单，4：拼团订单 */
    @Excel(name = "订单类型 0：普通订单,1：秒杀订单，2：9.9订单，3：砍价订单，4：拼团订单")
    private Integer ordertype;

    /** 订单状态(0：砍价中，1：待支付，2：拼团中，3：待发货，4：待收货，5：退货中，6.退货成功，7：订单完成，8：订单取消，9：砍价失败，10：拼团失败） */
    @Excel(name = "订单状态(0：砍价中，1：待支付，2：拼团中，3：待发货，4：待收货，5：退货中，6.退货成功，7：订单完成，8：订单取消，9：砍价失败，10：拼团失败）")
    private Integer status;

    /** 订单创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "订单创建时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date createAt;

    /** 订单更新时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "订单更新时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date updateAt;

    /** 退货时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "退货时间")
    private Date returnAt;

    /** 支付时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "支付时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date payAt;

    /** 发货时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "发货时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date consignAt;

    /** 收货时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "收货时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date receivingAt;

    /** 交易完成时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "交易完成时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date endAt;

    /** 交易关闭时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "交易关闭时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date closeAt;

    /** 是否评价 0：未评价，1：已评价 */
    @Excel(name = "是否评价 0：未评价，1：已评价")
    private Integer coment;

    /** 物流名称 */
    @Excel(name = "物流名称")
    private String shippingName;

    /** 物流单号 */
    @Excel(name = "物流单号")
    private String shippingCode;

    /** 买家留言 */
    @Excel(name = "买家留言")
    private String buyerMsg;

    /** 买家昵称 */
    @Excel(name = "买家昵称")
    private String buyerNick;

    /** 订单号 */
    @Excel(name = "订单号")
    private String orderSn;

    /** 支付号(用于多个订单拆单) */
    @Excel(name = "支付号(用于多个订单拆单)")
    private String payNum;

    /** 删除标记 */
    private Integer delFlag;

    /** 是否已经导出  0：未导出， 1：已导出 */
    @Excel(name = "是否已经导出  0：未导出， 1：已导出")
    private Integer export;

    /** 是否显示 0：显示，1不显示 */
    @Excel(name = "是否显示 0：显示，1不显示")
    private Integer see;

    public void setId(String id) 
    {
        this.id = id;
    }

    public String getId() 
    {
        return id;
    }
    public void setShopId(String shopId) 
    {
        this.shopId = shopId;
    }

    public String getShopId() 
    {
        return shopId;
    }
    public void setUserId(String userId) 
    {
        this.userId = userId;
    }

    public String getUserId() 
    {
        return userId;
    }
    public void setPayment(BigDecimal payment)
    {
        this.payment = payment;
    }

    public BigDecimal getPayment()
    {
        return payment;
    }
    public void setPaytype(Integer paytype) 
    {
        this.paytype = paytype;
    }

    public Integer getPaytype() 
    {
        return paytype;
    }
    public void setPostFee(BigDecimal postFee)
    {
        this.postFee = postFee;
    }

    public BigDecimal getPostFee()
    {
        return postFee;
    }
    public void setCouponId(String couponId) 
    {
        this.couponId = couponId;
    }

    public String getCouponId() 
    {
        return couponId;
    }
    public void setOrdertype(Integer ordertype) 
    {
        this.ordertype = ordertype;
    }

    public Integer getOrdertype() 
    {
        return ordertype;
    }
    public void setStatus(Integer status)
    {
        this.status = status;
    }

    public Integer getStatus()
    {
        return status;
    }
    public void setCreateAt(Date createAt) 
    {
        this.createAt = createAt;
    }

    public Date getCreateAt() 
    {
        return createAt;
    }
    public void setUpdateAt(Date updateAt) 
    {
        this.updateAt = updateAt;
    }

    public Date getUpdateAt() 
    {
        return updateAt;
    }
    public void setReturnAt(Date returnAt)
    {
        this.returnAt = returnAt;
    }

    public Date getReturnAt()
    {
        return returnAt;
    }
    public void setPayAt(Date payAt) 
    {
        this.payAt = payAt;
    }

    public Date getPayAt() 
    {
        return payAt;
    }
    public void setConsignAt(Date consignAt) 
    {
        this.consignAt = consignAt;
    }

    public Date getConsignAt() 
    {
        return consignAt;
    }
    public void setReceivingAt(Date receivingAt) 
    {
        this.receivingAt = receivingAt;
    }

    public Date getReceivingAt() 
    {
        return receivingAt;
    }
    public void setEndAt(Date endAt) 
    {
        this.endAt = endAt;
    }

    public Date getEndAt() 
    {
        return endAt;
    }
    public void setCloseAt(Date closeAt) 
    {
        this.closeAt = closeAt;
    }

    public Date getCloseAt() 
    {
        return closeAt;
    }
    public void setComent(Integer coment) 
    {
        this.coment = coment;
    }

    public Integer getComent() 
    {
        return coment;
    }
    public void setShippingName(String shippingName) 
    {
        this.shippingName = shippingName;
    }

    public String getShippingName() 
    {
        return shippingName;
    }
    public void setShippingCode(String shippingCode) 
    {
        this.shippingCode = shippingCode;
    }

    public String getShippingCode() 
    {
        return shippingCode;
    }
    public void setBuyerMsg(String buyerMsg) 
    {
        this.buyerMsg = buyerMsg;
    }

    public String getBuyerMsg() 
    {
        return buyerMsg;
    }
    public void setBuyerNick(String buyerNick) 
    {
        this.buyerNick = buyerNick;
    }

    public String getBuyerNick() 
    {
        return buyerNick;
    }
    public void setOrderSn(String orderSn) 
    {
        this.orderSn = orderSn;
    }

    public String getOrderSn() 
    {
        return orderSn;
    }
    public void setPayNum(String payNum) 
    {
        this.payNum = payNum;
    }

    public String getPayNum() 
    {
        return payNum;
    }
    public void setDelFlag(Integer delFlag) 
    {
        this.delFlag = delFlag;
    }

    public Integer getDelFlag() 
    {
        return delFlag;
    }
    public void setExport(Integer export) 
    {
        this.export = export;
    }

    public Integer getExport() 
    {
        return export;
    }
    public void setSee(Integer see) 
    {
        this.see = see;
    }

    public Integer getSee() 
    {
        return see;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("shopId", getShopId())
            .append("userId", getUserId())
            .append("payment", getPayment())
            .append("paytype", getPaytype())
            .append("postFee", getPostFee())
            .append("couponId", getCouponId())
            .append("ordertype", getOrdertype())
            .append("status", getStatus())
            .append("createAt", getCreateAt())
            .append("updateAt", getUpdateAt())
            .append("returnAt", getReturnAt())
            .append("payAt", getPayAt())
            .append("consignAt", getConsignAt())
            .append("receivingAt", getReceivingAt())
            .append("endAt", getEndAt())
            .append("closeAt", getCloseAt())
            .append("coment", getComent())
            .append("shippingName", getShippingName())
            .append("shippingCode", getShippingCode())
            .append("buyerMsg", getBuyerMsg())
            .append("buyerNick", getBuyerNick())
            .append("orderSn", getOrderSn())
            .append("payNum", getPayNum())
            .append("delFlag", getDelFlag())
            .append("export", getExport())
            .append("see", getSee())
            .toString();
    }
}
